home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / network / bsd.000 / bsd.ftpd.shadow.patch
Text File  |  1996-06-30  |  2KB  |  75 lines

  1. Only in .: bsd.ftpd.shadow.patch
  2. diff -u ../bsd.ftpd/ftpd.c ./ftpd.c
  3. --- ../bsd.ftpd/ftpd.c    Sat Sep  9 03:56:51 1995
  4. +++ ./ftpd.c    Sun Jun 30 14:31:18 1996
  5. @@ -85,17 +85,22 @@
  6.  #include <syslog.h>
  7.  #include <time.h>
  8.  #include <unistd.h>
  9. +#include <shadow.h>
  10.  
  11.  #include "pathnames.h"
  12.  #include "extern.h"
  13.  
  14. +#ifndef d_namlen
  15. +#define d_namlen d_reclen
  16. +#endif
  17. +
  18.  #if __STDC__
  19.  #include <stdarg.h>
  20.  #else
  21.  #include <varargs.h>
  22.  #endif
  23.  
  24. -static char version[] = "Version 6.00/Linux";
  25. +static char version[] = "Version 6.00.Linux.shadow";
  26.  
  27.  extern    off_t restart_point;
  28.  extern    char cbuf[];
  29. @@ -220,7 +225,8 @@
  30.      char *cp, line[LINE_MAX];
  31.      FILE *fd;
  32.  
  33. -    __progname = basename(argv[0]);
  34. +/*    __progname = basename(argv[0]); */
  35. +    __progname = argv[0];
  36.  
  37.      /*
  38.       * LOG_NDELAY sets up the logging connection immediately,
  39. @@ -387,9 +393,11 @@
  40.  {
  41.      static struct passwd save;
  42.      struct passwd *p;
  43. +    struct spwd *sp;
  44.  
  45.      if ((p = getpwnam(name)) == NULL)
  46. -        return (p);
  47. +        if ((sp = getspnam(name)) == NULL)
  48. +            return (p);
  49.      if (save.pw_name) {
  50.          free(save.pw_name);
  51.          free(save.pw_passwd);
  52. @@ -399,7 +407,7 @@
  53.      }
  54.      save = *p;
  55.      save.pw_name = sgetsave(p->pw_name);
  56. -    save.pw_passwd = sgetsave(p->pw_passwd);
  57. +    save.pw_passwd = sgetsave(sp->sp_pwdp);
  58.      save.pw_gecos = sgetsave(p->pw_gecos);
  59.      save.pw_dir = sgetsave(p->pw_dir);
  60.      save.pw_shell = sgetsave(p->pw_shell);
  61. diff -u ../bsd.ftpd/pathnames.h ./pathnames.h
  62. --- ../bsd.ftpd/pathnames.h    Sat Sep  9 03:09:25 1995
  63. +++ ./pathnames.h    Sun Jun 30 14:20:00 1996
  64. @@ -38,7 +38,10 @@
  65.  #define _PATH_DEVNULL        "/dev/null"
  66.  #define _PATH_BSHELL        "/bin/sh"
  67.  #define _PATH_NOLOGIN        "/etc/nologin"
  68. +
  69. +#ifndef _PATH_WTMP
  70.  #define _PATH_WTMP        "/var/adm/wtmp"
  71. +#endif
  72.  
  73.  #define    _PATH_FTPUSERS        "/etc/ftpusers"
  74.  #define    _PATH_FTPCHROOT        "/etc/ftpchroot"
  75.